package com.iplant.mes.service.po.andon;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.iplant.aps.service.po.oms.OMSOrder;

import java.util.ArrayList;
import java.util.List;

/**
 * 工位状态监控
 *
 * @author YouWang·Peng
 * 2024-1-3 10:38:42
 */
public class AndonStationStatus {
    /**
     * 工位ID
     */
    public int StationID = 0;
    /**
     * 工位名称
     */
    public String StationName = "";
    /**
     * 工位状态
     */
    public int StationStatus = 0;
    /**
     * 工位状态文本
     */
    public String StationStatusText = "";
    /**
     * 工位加工订单
     */
    public List<OMSOrder> OrderList = new ArrayList<>();
    /**
     * 设备ID
     */
    public int DeviceID = 0;
    /**
     * 设备名称
     */
    public String DeviceName = "";
    /**
     * 设备状态
     */
    public int DeviceStatus = 0;

    /**
     * 设备模型ID
     */
    public int ModelID = 0;

    /**
     * 设备状态文本
     */
    public String DeviceStatusText = "";
    /**
     * 作业人员信息
     */
    public List<AndonStationStatusWorkerInfo> WorkerInfoList = new ArrayList<>();
    /**
     * 今日完成数
     */
    public float TodayFinishedFQTY = 0.0f;
    /**
     * 当班完成数
     */
    public float ShiftFinishedFQTY = 0.0f;

    /**
     * 总数
     */
    public float TotalFQTY = 0.0f;

    public AndonStationStatus() {
    }

    public AndonStationStatus(int stationID, String stationName, int stationStatus, String stationStatusText,
                              List<OMSOrder> orderList, int deviceID, String deviceName, int deviceStatus,
                              String deviceStatusText, List<AndonStationStatusWorkerInfo> workerInfoList,
                              float todayFinishedFQTY, float shiftFinishedFQTY) {
        StationID = stationID;
        StationName = stationName;
        StationStatus = stationStatus;
        StationStatusText = stationStatusText;
        OrderList = orderList;
        DeviceID = deviceID;
        DeviceName = deviceName;
        DeviceStatus = deviceStatus;
        DeviceStatusText = deviceStatusText;
        WorkerInfoList = workerInfoList;
        TodayFinishedFQTY = todayFinishedFQTY;
        ShiftFinishedFQTY = shiftFinishedFQTY;
    }

    @JsonProperty("StationID")
    public int getStationID() {
        return StationID;
    }

    public void setStationID(int stationID) {
        StationID = stationID;
    }

    @JsonProperty("StationName")
    public String getStationName() {
        return StationName;
    }

    public void setStationName(String stationName) {
        StationName = stationName;
    }

    @JsonProperty("StationStatus")
    public int getStationStatus() {
        return StationStatus;
    }

    public void setStationStatus(int stationStatus) {
        StationStatus = stationStatus;
    }

    @JsonProperty("StationStatusText")
    public String getStationStatusText() {
        return StationStatusText;
    }

    public void setStationStatusText(String stationStatusText) {
        StationStatusText = stationStatusText;
    }

    @JsonProperty("OrderList")
    public List<OMSOrder> getOrderList() {
        return OrderList;
    }

    public void setOrderList(List<OMSOrder> orderList) {
        OrderList = orderList;
    }

    @JsonProperty("DeviceID")
    public int getDeviceID() {
        return DeviceID;
    }

    public void setDeviceID(int deviceID) {
        DeviceID = deviceID;
    }

    @JsonProperty("DeviceName")
    public String getDeviceName() {
        return DeviceName;
    }

    public void setDeviceName(String deviceName) {
        DeviceName = deviceName;
    }

    @JsonProperty("DeviceStatus")
    public int getDeviceStatus() {
        return DeviceStatus;
    }

    public void setDeviceStatus(int deviceStatus) {
        DeviceStatus = deviceStatus;
    }

    @JsonProperty("DeviceStatusText")
    public String getDeviceStatusText() {
        return DeviceStatusText;
    }

    public void setDeviceStatusText(String deviceStatusText) {
        DeviceStatusText = deviceStatusText;
    }

    @JsonProperty("WorkerInfoList")
    public List<AndonStationStatusWorkerInfo> getWorkerInfoList() {
        return WorkerInfoList;
    }

    public void setWorkerInfoList(List<AndonStationStatusWorkerInfo> workerInfoList) {
        WorkerInfoList = workerInfoList;
    }

    @JsonProperty("TodayFinishedFQTY")
    public float getTodayFinishedFQTY() {
        return TodayFinishedFQTY;
    }

    public void setTodayFinishedFQTY(float todayFinishedFQTY) {
        TodayFinishedFQTY = todayFinishedFQTY;
    }

    @JsonProperty("ShiftFinishedFQTY")
    public float getShiftFinishedFQTY() {
        return ShiftFinishedFQTY;
    }

    public void setShiftFinishedFQTY(float shiftFinishedFQTY) {
        ShiftFinishedFQTY = shiftFinishedFQTY;
    }

    @JsonProperty("ModelID")
    public int getModelID() {
        return ModelID;
    }

    public void setModelID(int modelID) {
        ModelID = modelID;
    }

    @JsonProperty("TotalFQTY")
    public float getTotalFQTY() {
        return TotalFQTY;
    }

    public void setTotalFQTY(float totalFQTY) {
        TotalFQTY = totalFQTY;
    }
}
